On many computing devices, e.g., computers, laptops, cell phones, etc., cryptographic keys, also referred to herein as authentication keys, are used to protect data stored thereon that the owner and/or authorized user and/or entity of the computing device, collectively referred to herein as owners, does not want attackers, i.e., unauthorized individuals and/or entities that attempt to obtain data from others' computing devices, to be able to access. Cryptographic keys are software keys, i.e., pieces of information, or parameters, which are used to determine the output value of a cryptographic algorithm. A cryptographic algorithm is used to encrypt and decrypt data to be protected on computing devices. Without the proper cryptographic key(s) a cryptographic algorithm will produce no useful result, and thus, attackers can not gain access to protected data on a computing device.
When a computing device is unlocked, i.e., the computing device is operational for user access, the cryptographic keys are generally available in accessible memory. Even if a computing device owner puts their computing device in sleep mode accessible memory still generally contains the cryptographic keys. This is because sleep mode is a low power mode for a computing device that continues to maintain power to the computing device's accessible memory, and thus, maintains the contents thereof. These conditions render computing devices vulnerable to attackers.
If an attacker can retrieve the cryptographic keys used on a computing device then the attacker can use these cryptographic keys to attempt to improperly retrieve protected data stored on the respective computing device. Yet cryptographic keys are also utilized by the computing device to provide authorized individuals and entities, i.e., computing device owner(s), access to stored protected data.
Thus, it is desirable to mitigate, and even eliminate, the ability of an attacker to procure protected data on a computing device through the use of unwarranted access to the respective cryptographic keys, while still maintaining proper user-friendly access. It is further desirable to render attacks on protected data stored on computing devices harder to mount by reducing the ability of an attacker to obtain meaningful versions of the computing device's cryptographic keys.